home *** CD-ROM | disk | FTP | other *** search
- ###############################################################################
- # AmphetaDesk (c) 2000-2002 Disobey #
- # CHANGELOG http://www.disobey.com/amphetadesk/ #
- ###############################################################################
-
-
- 0.94 (released )
-
-
- 0.93.1 (released October 31st, 2002)
- - swapped out quasi's "$toencode = ~s/([^a-zA-Z0-9_\-.])/uc
- sprintf("%%%02x",ord($1))/eg;" for URI::Escape's "$toencode =
- uri_escape($toencode, "^a-zA-Z0-9_.-");". this performs the
- same thing, but is crossplatform for MacPerl/MacOS.
- - an rss feed's email is now saved in the channel opml.
- - subscription data for a channel is now updated after each parse.
- - if using the default settings, immediately save a mySettings.xml. fixes
- a dumb minor (out of date?) bug where I had to pre-instruct people to "Save
- My Settings" before they could follow mySettings.xml hacking instructions.
- - we now save our channels and settings before shutting down.
- - added frontends to start_radio_webserver and http_referer.
- - awesome: mac classic version is working correctly (thanks Axel!).
- - awesome: win95 version is working correctly (requires seperate download).
- - bugfix: the Win32 gui now correctly maximizes the window when opening
- from the systray, and we've moved it over to a doubleclick not a single.
- - bugfix: if we have matching filenames, we now randomize to four places
- not just two. this solves a rare circumstance where someone could
- subscribe to 99 or more Moreover feeds - it's now 9999 (thanks, Kearney)
- - feature: support for Radio Userland coffee mug icons. off by default.
- - featurette: implemented geomisk's old "tidy_house" routine as
- MyChannels::remove_old_channel_files. thanks again, geomisk.
- - bugfix: we weren't correctly defaulting to "index.html" on a
- directory webserver request within Win32 (we forgot \\ in our regexp).
- - removed the following code: $SIG{PIPE} = 'IGNORE' unless $^O =~ /Mac/;
- - we no longer @EXPORT head() from AmphetaDesk::WWW. the explanation
- is one of fickleness, but it comes down to removing a warning
- about redefining CGI.pm's head(). This shouldn't be that much
- of a problem anyways since head() was ONLY used within WWW.pm,
- and people can still suck it in with "use AmphetaDesk::WWW qw/head/"
- if they absolutely need to. chalk this one up to my analness.
- - moved webserver code from amphetadesk.pm to webserver.pm.
- - removed the following code: BEGIN { $SIG{'__WARN__'} = sub {
- warn $_[0] unless (caller())[0] =~ /Win/; } }. This was being used
- to stop copious Win32::GUI warnings. These have been fixed in the
- latest Win32::GUI download. Thanks Aldo Capini!
- - templates: the index.html, my_channels.html, and add_a_channel.html
- were changed over to a new to_browser/send_to_browser system that
- cuts out the zillions of concat's we were doing before. since perl
- handles joining arrays better than concating strings, this should
- increase speed of those pages, plus reduce memory usage. small template
- things (like the headers, the popup, the settings page, etc.) send
- directly to $OUT as usual, since the array gains would be infintesimal.
- - bugfix: added 'use lib' to wrapper script for explicit inclusion into
- the Win32 version (stupid perl2exe, argh). Thanks, deus_ex.
- - featurette: added ReuseAddr to our HTTP::Daemon for address uh, reuse.
- - moved the template parsing code into the new AmphetaDesk::Templates.
- - featurette: support for <content:encoded> from mod_content.
- - docs: kudos moved from news page to its own, and was updated.
- - bugfix: removed our ugly img onClick hack, and replaced it with a
- proper a/href, with "return false" set on the js for non-js browsers.
- - bugfix: importing feeds no longer clobbers existing attributes if
- the feed already exists (we append imported attributes to existing entries).
- - bugfix: we no longer crash on feeds that have more than one <channel>.
- - docs: lots of changes to the finding_more.html page, including adding
- a stronger bookmark, fixing the broken FoRK example, warning about
- Sherch's age, and adding new entries: RacingNewsOnline.com, NWFusion.com,
- Mail-Archive.com, Daypop.com, fyuze.com, Snewp.com, and Yahoo Finance.
- - docs: add kudos.html to move it off the news page.
- - featurette: now supports authenticated proxies (Ian Dash and others).
- - bugfix: we handle the rss 2.0 "id" attributes on item (XML::Simple
- turns id's automatically into another tree level), and also no longer
- die if there is only one item in a channel (Jeremy Zawodny).
- - code shui: removed a level of indentation in our AmphetaDesk.pm
- by "next unless defined $connection" instead of "if ()".
- - bugfix: under win32, we set our "already clicked" menu item checker
- for "Open Browser" immediately, as opposed to after the browser has
- been opened. this fixes a race condition where an impatient user
- could request to "Open Browser" before the first one finishes.
- - bugfix: amphetadesk now spits out http headers (thanks Dave Beckett).
- - featurette: png images may now be displayed.
- - security fix: you can now choose whether to allow AmphetaDesk
- to accept outside (nonlocal) connections. This is determined
- by a new user_allow_nonlocal_conn setting, and defaults to "no".
- - security fix: URLs are now checked for funny business.
- - converted some more date instances to HTTP::Date.
- - bugfix: we no longer die on a myChannels.opml with only one channel.
- - bugfix: 404 pages no longer divulge the full path on the HD (Eric).
- - updated the README.txt to suggest expat 1.95.3 instead of .2.
- - bugfix/win32: worked around segfault concerning UTF-8 BOMs.
- - bugfix/os x: updated to expat 1.95.3 to fix UTF-8 BOM segfault.
- - bugfix: our shutdown() to the webserver wasn't formatted correctly.
- - bugfix: fixed "Argument "" isn't numeric in bitwise or" error on
- line 53 of the Mac OS X gui. $flags was '', but now starts out as 0.
- - bugfix: we don't echo that we're loading the OPML file twice anymore.
- - bugfix: os x wrapper comments no longer echo if we run from the shell.
- - bugfix: the AmphetaDesk.log was opened in ~ and not the install dir.
-
-
- 0.93 (released June 13th, 2002)
- - updated to the latest XML::Simple and Text::Template.
- - documentation updates. lots. still more to do.
- - all images changed over to the new set done by Eric Vitiello. Rock.
- - fixed minor bug where invalid scriptingNews would say there
- were no parsable items as opposed to an xml parsing error.
- - to prevent our popup delete window from bring the view back to the
- top of the page, we moved the onClick to the image itself, and used a
- cursor style to duplicate the UI element. see for crossplatform notes:
- http://developer.netscape.com/evangelism/docs/articles/cursor/
- - added email icons to the headers of the templates.
- - tweaked the index.html template a bit to prevent runaway <pre>
- tags, and to make the entire page load faster (thanks redmonk).
- - lots of Classic Mac fixes here and there.
- - added toplevel README.txt's for the subdirectories.
- - added encode_to_dec into AmphetaDesk::Utilities, which fixes the
- issue of del_urls not working properly when the channels URL
- has it's own query string (their query string was being read as ours).
- - proxy configuration via mySettings.xml has been added.
- - final round of alpha testing begins.
- - quickie drop in of environment proxy code (thanks Klaus).
- - Compress::Zlib added to AmphetaDesk.pl. Preparation for v0.94.
- - the channel_count is now spit out into the log so much.
- - moved special globals from "vars" to "my" instead.
- "vars" is deprecated for 5.6.0+, but we're not
- going to "our" since we want perl 5.004 compat.
- - moved all our stupid date code in MyChannels.pm to use
- the matching functions from HTTP::Date. Much nicer.
- - Radio Userland, AmphetaDesk, and similar OPML files can now be
- imported from a URL via "add_url". Since these files can be
- HuuUGe, we don't download the channels at the time of the
- import, but rather on the next restarting of AmphetaDesk.
- - Radio Userland mySubscriptions.opml imports are now possible,
- assuming you rename to myChannels.opml and stick in data/.
- - added "user_channels_check_interval" which AmphetaDesk will use
- to repetitively check for new channels every X minutes. The minimum
- setting (which can not be changed) is 2 minutes.
- - added an email/envelope graphic to the templates page, which
- will only show if we can figure out an email from the feed.
- - CDATA'd rdf:values from RSS 1.0's mod_content are now shown.
- - scriptingNews support has been added back in, same data structure.
- - instead of using Cwd (current working directory), we now use FindBin
- to figure out where we are in the file system, making relative
- directories much safer to use. this fixes a bug where AmphetaDesk
- could be installed in /usr/bin, but would break if a user tried
- it from the /tmp directory (since the relative paths would be
- to /tmp and not /usr/bin). This was really only an issue on Linux.
- - default template has moved to templates/default, and gui/ has moved to
- templates/default/gui, allowing future support for template subdirs.
- also did some quick edits in Settings.pm to support the new subdir.
- - strip_newlines_and_tabs data in myChannels.opml.
- - cleaned up some uninit warnings in strip_newlines_and_tabs.
- - the my_settings.html now works correctly.
- - if a channel has no items to display, then we show an error in the HTML.
- - second round of alpha testing has begun.
- - added popup window for deleting off the main page, thanks to eric.
- - errors in the RSS feed are now passed to the template for display.
- - switched over to http::daemon and cgi.pm as opposed to homebrew.
- - template system has been made more generic, and there are now
- no "special" template names, like add_a_channel.html or my_channels.html.
- "index.html" is, however, required if you want auto-directory serving.
- - fixed up the various GUI libraries.
- - get_response and set_response have been added to ::Utilities,
- which are quickie routines to set messages to be displayed
- in the HTML pages. The header template has also been updated
- to show these messages if they exist. Once their shown, they're
- permanently removed until the next set_response is triggered.
- - we no longer need the "id" attribute in our OPML, as we've
- moved to using the xmlurl as the unique id (a safer choice).
- - ?del is now ?del_url to more closely match ?add_url.
- likewise, a ?del_urls now exists as well to match ?add_urls.
- - if get_my_channels_data isn't passed a $setting to retrieve,
- then it will return a hash ref of all settings. this allows the
- templates to be slimmer (less calls to that routine).
- - updated README.txt to be remotely applicable.
- - stopped Win32 DoEvents from logging thousands of warnings.
- - first round of alpha testing has begun.
-
- - split the template pages into header/footers.
- - added "title" attributes to most of the template pages.
- - fixed the UserAgent string so it's more in line with others.
- - added "last modified" and "added" dates to my_channels.html
- - more good code from eric, which involves checking for duplicate
- filenames and URLs, as well as fixing a moreover title bug that
- caused duplicate filenames to be a regular issue.
- - eric vitello jumps on as a developer. contributes good code to
- getting MyChannels.pm up to snuff. this has now been moved over to
- Text::Template and is much smarter code. Usability wise, people now
- "check" to delete the item, instead of unchecking. The opposite of
- what existed before, but makes a bit more sense (the old way only
- existed like that because of lazy programming).
- - we no longer consult the filesystem for the last time a channel
- has been downloaded (we now consult date_downloaded, which is a
- new attribute in our myChannels.opml file) mirror() still checks
- against the filesystem, but that's normal / intentional.
- - "request_timeout" added a setting, and "strict_xml" removed.
- - added {app}->{os}, which gets spitout in the logfile.
- - we no longer need to ship a mySettings.xml file, as one is
- created at runtime if none can be found. this helps upgrades too
- as we will no longer have to worry about overwriting. this has
- also been addressed with myChannels.opml.
- - we now use File::Spec to figure out paths, not $dlmtr;
- - our logfile is now opened FIRST. the logfile location has
- changed to the root directory for ease of finding and sending.
- logfiles are now kept around until they're over 250k.
- - error() is now just a wrapper around note() since we can
- be pretty sure that the logfile is opened correctly.
- - modularization has begun.
-
- - modified the URLs so that they are relative, making it easier for
- AmphetaDesk to be used over a network (previously links referred
- back to the user's local machine, not necessarily the Ampheta box).
- - when minimizing the window on Win32, it now goes directly to the
- Systray, as opposed to going to the taskbar, and doing weird stuff.
- - fixed bug where the channel count wouldn't be updated after a
- modification of the user's myChannels.opml. the counting should
- probably move into the actual create routine.
- - installed INTerrupt handler so that users who Ctrl-C in a Linux
- or OSX terminal will have the webserver shut down properly.
- - added Simon's Kittle code to stop Linux from crashing on add channel.
- - fixed bug that would cause the myChannels.opml to be erased if
- bad GET based data was passed off to it. its still affected by POST.
- - the socket read timeout error is much more userfriendly now.
- - README.txt updated with upgrade notes and Linux install walkthrough.
- - added a number of user quotes to the docs/news.htm page, and
- included a quick little blurb about them on the docs/index.htm.
- likewise, reworded some of the docs/index.htm options to be less scary.
- - we've changed how we handle CDATA sections. previously, we would
- remove any CDATA tags when "fix XML" was turned on. now, we leave
- them alone, but add a conditional to not encode links if we see
- a CDATA in the feed (previously, we "fixed" links that were not
- properly encoded - this caused problems with CDATA sections,
- where the links could be unencoded). this does not effect
- any <strict_xml> parsing (thanks Steve Yost).
- - old versions added to docs/index.htm.
- - added README.txt as "Installation" notes to docs/index.htm.
- - added OS X note concerning "which version?" to docs/index.htm.
- - added "shared libs" and "README.txt" docs/to files_and_dirs.htm.
- - the screenshots.htm now loads the ss- images from disobey.com.
- this is so we don't have to ship them in the archive files, as
- they were taking up an awful lot of space.
- - a simple docs/README.txt file has been added.
- - original Artistic License replaced with NcFTP revision.
- - build instructions (docs/build.htm) have been added.
-
-
- 0.92 (released October 5th, 2001)
- - sigh. Mac GUI has been put on hold again. show stopping bug.
- - some more Mac GUI fixes. it doesn't scale very well though (at
- 120 channels, which is my selection, it slows to a insane crawl).
- - went through the TODO and move a bunch of stuff to "after 1.0" so
- that we can hurry up and get a flippin' release out.
- - removed spitout of http headers and how they were parsed.
- - fixed bug where files name like picture$2312 (a common Manilla
- construct) would cause us to die if they were used in a relative
- link and not as an absolute.
- - fixed "broken pipe" program killer that happened when we tried to
- read from an image file that didn't exist locally (caused due to
- relative links within an rss feed).
- - fixed some core problems with how we handle entity encoding. now,
- we only encode entities if the channel has failed an initial parse
- using XML::Simple. This allows unencoded entities from US-ASCII
- types to be properly shown in AmphetaDesk (thanks again to
- Karl Ove Hufthammer for being the pesky foreign user and making
- sure we get this crap right). we do, however, encode some
- entities that are common when people are using the 'windows'
- encoding.
- - fixed a problem with <title>'s having an attribute (for example
- xml:lang="eng"), which would cause the <title> tag to not display.
- now, if we find something similar, we check a bit deeper and
- try to rectify the situation. we only do this for title, and not
- description (description gets far too fun with possible attributes,
- possible unencoded HTML, etc). Thanks again to the ever observant
- Karl Ove Hufthammer.
- - added a "strict_xml" configuration setting. turning this setting
- on (via manual editting of mySettings.xml) will cause AmphetaDesk
- to not try ANY fixing of common problems with XML feeds. basically,
- we sent the feed unchanged to the parser and hope the user got it
- right. this is more conducive to "if the XML is wrong, then the
- parser should not display" ideal.
- - after going through all of the logfiles that people have sent, we've
- fixed a number of minor errors: <br>'s are now converted to <br />
- because it's simple to do; ´'s are now converted to apostraphes
- (search for ´ in the code if you want more info); Happily enough,
- most of the display errors in v0.91 have been fixed with the change
- in parsing of this version.
- - the webserver will now try to jump onto three ports before dying.
- these are all configurable, of course, and the doc's have been updated.
- there was a change in logic - {urls}->{port} includes the currently
- chosen and running port of AmphetaDesk. likewise, the new {port_default},
- {port_secondary} and {port_tertiary} point to the three possible
- port choices.
- - fixed some comment in the various OS libraries.
- - we now correctly close the logfile and webserver before exiting.
- - fixed silly != / ne bug in Linux.pl.
- - fixed an infinite loop when an http server redirects us repeatedly.
- - in channel display, we no longer show blank entries or HASH(ddddd)
- entries (which can manifest because of unencoded HTML).
- - warnings / notes improved upon. most user logging has been configured
- to spit out the program name and to report the error to the program's
- email address. other warnings and so forth have been tightened as well.
- - drastically reduced the amount of "quit AmphetaDesk" error messages -
- instead, we try to continue on with limited functionality. now, we only
- die if one of required files or directories can not be found, if we
- can't load the myChannels.opml, and if we couldn't start the webserver.
- We no longer quit when the myChannels.opml file can't be saved,
- when we can't load the channel list, when a valid URL wasn't passed,
- or when we can't find a template file (as any file that is not
- defined internally could become a template file, such as relative
- links within an RSS file, etc.).
- - Error messages now come with more verbiage containing a possible
- solution. All admonish the user to report the error to {app}->{email}
- when the problem is more than just a file missing (reinstall, bucko!).
- - fixed line feed issues in our log files on the Mac.
- - added "letter_next" and "letter_prev" for use within the
- "add a channel" page. this allows quicker browsing than having
- to hunt and peck the right letter and screw up.
- - cleaned up some bad error messages in the "add unknown channel"
- code, as well as added a log message to the GUI window when
- the channel was successfully added.
- - the title column of the "add a channel" and "my channels"
- pages has been set to 200 pixels to prevent annoying resizing.
- - new html-in-rss parser has been added, which listens only to
- encoded HTML tags (i sincerely doubt we'll ever support unencoded
- HTML, cos that's just so anti-RSS that it drives me nuts).
- - show stopping entries like <xml> and <title> are now fixed.
- - all links now listen to the users target= preference.
- - added &gui_after_html_display, necessary for the Macintosh GUI;
- stubs have been added to the Windows and Linux GUI libraries.
- - added "Tools" menu to the Windows GUI.
- - we now correctly close our logfile at the end of a run.
- - various minor html documentation changes for IE6 beta viewing.
- - minor template changes for better viewing in Opera and IE6 beta.
- - standardized all documentation to use "AmphetaDesk" and not
- any derivatives there of (like "amphetaDesk" or "Amphetadesk").
- - first attempt at Macintosh GUI has been committed.
- - added screenshots and pirillo's custom skin to documentation.
- - added the bottom navigation bar to docs to match ui templates.
- - added NewsIsFree.com, Sherch.com and Network54.com to finding_more.htm.
-
-
- 0.91 (released July 2nd, 2001)
- - fixed bug where we wouldn't close if our child process was still
- hanging around (caused by forking to run a browser different than
- the default and then not killing the bastard).
- - fixed a silly bug that stopped encoded characters in a URL from
- being accepted as part of a typed website address for the
- "add an unknown channel" feature. this fix makes
- NewsIsFree.com integration possible (and nifty!).
- - AmphetaDesk no longer crashes when Opera has been set as the
- default browser (it worked fine when the path to Opera was
- specified in mySettings.xml). The bug was caused by Opera's
- reliance on Multiple Document Interface (or so some more
- knowledgable people have told me).
- - finally stopped resizing in the Windows gui.
- - added right click menu to the systray icon for the Windows gui.
- - added "refresh channels" and "open window" to the systray
- icon for the Windows gui. and "exit" too, but that's boring.
- - fixed some minor template problems with new channel listings.
- - fixed a minor template form issue with Mozilla.
- - changed the default letter to "0" in the "add a channel"
- page. that just makes more sense, since it's first in our nav.
- - updated the three master channel lists.
- - fixed bug in version check code that would get confused with
- different types of line returns in the Macintosh version.
- - we now check for duplicate entries in the "add a channel" list
- based on xml url, not the title as we had previously done. this
- fixes an obscure bug where channels with the same name would
- be lumped (and by default, checked) into one entry.
- - stderr is now redirected to our logfile. we also sleep after
- spitting out any message for 10 seconds so that the DOS
- window on Windows doesn't disappear too quickly.
- - moved most of the divider lines into the respective routines.
- - added a lot more logging information to help debug.
- - added an error message for when the webserver dies. this lets
- the Windows 2000 people know what the problem is and that we
- know about it.
- - in our &process_initial_request routine, we know check to see
- if $url is defined before sending the results back. if $url
- is undefined, we set it to the main page of AmphetaDesk (which
- should work around some random browser idiocies when it actually
- makes a request to the server, but a url can't be determined).
- - server timeouts have been removed from &head and &get, as well
- the timeout was lowered from 20 seconds to 10 seconds.
- - we now print out the remote server headers if it doesn't contain
- Content-Length or Last-Modified headers. that's just weird.
- - Added $TEMPLATE->{total_my_channels}, $TEMPLATE->{total_channel_items},
- and $TEMPLATE->{total_channels} which just provide various counts.
- Find more information in the skinning.htm documentation.
- - Some minor template changes after usability testing - removed some
- of the more obscure terms, added some more whitespace, and duplicated
- the navigation at the bottom of the page. Eventually, they'll be a
- template that will remove all this "helpful" crap for people who
- know it all.
- - Reduced the head() request to 512 bytes, instead of 2096.
- - Added {app}->{url} into all HTTP User-Agent lines.
- - Our checks for server headers in head() are now case insensitive.
-
-
- 0.90 (released May 29th, 2001)
- - added UTF-8 character encoding meta tag to all XHTML documents,
- thanks to Karl Ove Hufthammer for bringing this to us.
- - template variables that were specifically used in the list_item
- pages are now prefaced with "list_"... this is to prevent
- confusion about template variables having the same name,
- but different meanings based on what page was being shown.
- - fixed <link_target>. instead of undef'ing, it defaults to
- "_blank". if someone wants links to open in the same window,
- we set it to "_parent". that's a good solution. yeah.
- - the settings <gui> was moved into <names>. it makes more sense.
- - 'echofactor' removed from the "finding_more.htm" page.
- - the 'www' directory has been renamed to 'templates'.
- - "news and update" page added to the documentation. the
- matching rss feed added to the default channel lists.
- - <added> added to the service lists - in conjunction, we now show
- channels which have been added in the past month in a different
- background color, based on this value.
- - <link_target> added to user preferences.
- - More entries added to the finding_more.htm docs.
- - Template changes: channel_title.html is now called
- channel_header.html. likewise, channel_footer.html is now displayed
- only if it exists. All template filenames have been renamed to
- .html, and channel_list_item_new.html has been added (which is
- displayed if the currently nonexistant <added> tag is newer than a
- month). There has also been tons of template variable changes, as
- well as the addition of a rather mediocre skinning.htm to the
- documentation.
- - Fixed bug where network timeouts would happen twice.
- - Added mySettings.xml workaround for Netscape and other browsers that
- don't automatically open up - the user can now enter a full file
- path of the browser, and we'll attempt to open that app, while
- passing it the URL requested.
- - mySettings.xml frontend has been integrated and related
- documentation has been added (xml_my_settings.htm).
- - Morbus, being bored one day, looked at every single line of
- code all over again, and tweaked and hemmed and hawed. tons
- of myriad comment updatings, space cleansing, and so forth.
- - We've added a Timeout of .1 second to our internal webserver, The
- Timeout will ensure that the webserver is nonblocking (moving on in
- the infinite loop after 1/10 second), which helps the GUI listen for
- requests.
- - We now override xml::simple's xmldeclaration with our own, which
- solves the xml syntax error with [version='1'] when it should
- be [version="1.0"].
- - Error messages and name related data that was hardcoded has been
- moved to its $SETTINGS equivalents for better customization.
- Eventually error messages should live in mySettings.xml as well,
- but that will come later.
- - Because of the improved $SETTINGS configuration, we now have
- better error checking for missing files (like the various
- template files and myChannels.opml, etc.).
- - The logfile is now opened again in the main script - only the
- filehandle is referenced in Miscellaneous.pl. Our problem with
- the log not being written because of a crash was because we
- didn't autoflush the buffer in our old code. This is fixed.
- - Tons of variable name changes in line with improved $SETTINGS
- and $TEMPLATE changes - the whole thing has basically been redone
- for better support of mySettings.xml and distribution power.
- - One channel bug resolved (we still need to check some of the
- uninit'd values that seem to pop up every now and then).
- - Added the tidy_house() routine to clean out old channel files
- - files_and_dirs.htm added to documentation.
- - Tons of minor documentation fixes and additions.
- - Micropayment links secretly added. Let's see if they'll notice.
- - Turned (back) on the service list download - if the recent channels
- list hasn't been updated for a week, we check for a new one. If it
- doesn't exist, we download it (which allows us to not ship that at
- the expense of a longer first startup for users).
- - Only newly added channels are downloaded from the "add a channels"
- screen now - previously, we would recheck all our myChannels.
- - Artistic license added to docs.
- - Because the XML parser has been nicely tested and the only errors
- that show up are due to mismatched tags, we no longer spit out
- xml error messages to the user, we just send them to the log.
- - We now display an error message when there are no channels to display
- on the initial page (ie. all channels timed out and no local files).
- - The version check actually works now.
- - ¬e split up into ¬e/&gui_note.
- - Various default channel changes, including the removal of
- The Motley Fool and the addition of Lockergnome...
-
-
- 0.24 (released March 19th, 2001)
- - chose an almost entirely new set of default channels.
- - fixed bug where numerically named services would never show.
- - a simple error message is now displayed when no channels exist
- under a chosen letter in the "add a channel" page.
- - fixed bug where our parse_template routine thought that a "0"
- was a nonexistant value, even though it could be (ie. a "0" could
- mean that we want to see all services matching a number.)
- - stuck the "display_home_page" routine back where it belongs, but
- still as a routine. reasoning being it's the only block of code
- called more than once in the main file, and it'd be lonely being
- the only routine at the bottom of the file.
- - documentation updated to match new <header> block within service
- list, as well as to be more organized and crosslinked.
- - cleanup changes to ServiceMaintenance.pl to make it more useful.
- - added timeout setting using IO::Select of 20 seconds. this combat
- slow networks, and should fix Geomisk's nephew's crappy connection.
- - documentation can now be served/read by the webserver.
- - "add channel from url" feature has been added.
- - the large channel list is no longer loaded when people go
- to "My Channels" and delete a channel (this saves a few seconds
- if the user hadn't requested to see the channel list earlier).
- - "xmlUrl" and "htmlUrl" from myChannels.opml have been changed
- to "xmlurl" and "htmlurl" respectively. our code will read both
- but only write the lowercase versions.
- - naming.htm added to documentation.
- - history.htm added to the documentation, as well as documentation
- links added to the default templates. Just integrating help.
- - removed Red Herring from myChannelsDefault.opml.
-
-
- 0.23 (released March 6th, 2001)
- - fixed stupid misspelling in check_version.
- - removed all global variable passing.
- - program name is now a variable (and is now used in all socket calls).
- - channel downloading within download_my_channels is now more
- informative, and allows us to more easily troubleshoot missing
- channels (and dead/failing ones).
- - the "unlink" on the filename has been secured, since technically
- it's outside data (people could modify the myChannels.opml). We
- leave the unlinks on the log file deletions alone though, since
- the directory comes from Cwd and the filename internally.
- - invalid xml entities/characters are now encoded when the channel
- fails to be loaded the first time around. this should fix almost
- all "invalid entity" errors (hopefully). there will still be
- errors concerning missing tags, but we don't care about those.
- - make_valid_xml moved into Miscellaneous.pl.
- - large channel lists added, along with alphabetical breakdowns by page.
- the current channel lists are not all that we know of on the net, but
- enough to be a proof of concept. the list will be expanded in the
- future.
- - scriptingNews regexps are now eval'd.
- - Development moved to SourceForge.
- - ServiceMaintenance.pl added - creates and maintains service lists.
- - "xml_services_lists.htm" added to documentation.
- - "xml_my_services.htm" added to documentation.
- - removed "text" from myChannels.opml - it was a throwback to
- Winer's mySubscriptions.opml, and has been replaced with "title".
- - we now add "&go=1" onto the end of the delete url's so that
- IE 5.5 on the PC won't think that it should display an
- xml file because of the extension in "?del=filename.xml". The
- "&go=1" is ignored by AmphetaDesk.
- - fixed bug where "weekdayword" and "weekdaywordabbr" were never
- being correctly set. this eventually caused undef errors in
- &unencode_some_html and &strip_newlines_and_tabs.
- - channels that have no items to display are no longer
- displayed (previously, we saw just the title of the channel).
- - make_valid_xml improved with better fixing for the <xml>
- statement not being on the first line of the passed data.
- - all empty elements within the channel xml are now suppressed
- via &load_channel_data - this should fix some rather random,
- but confusing bugs (and probably introduce some more, but hey...)
- - new logo and slightly larger globe added. all images compressed.
- - &load_channel_data has been added - this understands both
- raw xml data, as well as a filename... likewise, make_valid_xml
- understands either raw xml data, or a filename.
- - delete_channels now removes the filename from data/channels.
- - delete references channel filename as opposed to xml-url.
- - more html changes - icon key is now in header.
- - fixed the stupid logic error in this file.
-
-
- 0.22 (released January 21st, 2001)
- - unencode_certain_html added - converts "/lt/gt to "<>.
- - changed the delete code to reference xmlUrl and not htmlUrl.
- - changed the delete code from "delete.ahtml?del=" to
- "my_channels.ahtml?del=" - the main reason for this is that
- delete.ahtml will never exist as a template file, so we
- shouldn't define it.
- - tons of html changes to clean the ui.
- - added delete from home page feature.
- - lots of routines now use the global variables instead of passing.
- - download_channels_in has been renamed to download_my_channels.
- - loading of the channel list is now cached for quicker access.
- - lots of new routines to make the script even more blackboxed:
- create_channel_filename, load_my_channels, sort_my_channels_by_filename,
- strip_newlines_and_tabs, load_channel_list, and write_my_channels.
- - comment and code cleaning - general gold plating.
- - merged myChannels into the big list and checked them off.
- - fixed the Netscape/Mozilla bug where POST requests would
- never be properly resolved (due to erroneous content-length).
-
-
- 0.21 (released January 15th, 2001)
- - we now only load filenames that are defined in myChannels.opml.
- - make_valid_xml no longer dies if the file can't be opened.
- - < and > are changed to < and > in our item descriptions
- so that anyone who properly encodes HTML will show correctly.
- - Our template channel items are now undef'ed each time through
- to fix a bug where a <description> from item 1, would appear
- on all further items that didn't have a <description>.
- - Removed flocking. Really only a one user system.
- - Fixed bug where the submit button became a new channel.
- - Fixed bug with Windows freezing / force-quitting.
- - Downloading after channel add has occurs after the page displays,
- not before (as before). This is so the page displays without an
- overly lengthy delay. This simulates "background downloading".
- - Cleaned up some uninit's when the channel $html wasn't there.
- - Content-length and POST changed so more browsers will work.
- This has currently been tested on: NS 4.7.x (Mac), IE 5 (Mac),
- iCab 2.x (Mac) and IE 5 (Win).
- - Timeout for socket connection has been moved to 15 seconds.
- People like me who have 40 channel subscriptions will wait
- forever (quite rightly so) to download them all. Non -
- responding sites are a pain waiting to timeout.
-
-
- 0.20 (released January 13th, 2001)
- - Add and remove channel code has been added.
- - myChannelsDefault is no longer referenced in the code.
- - Channel list is now updated once a day.
- - Globe and XML image added to HTML templates.
- - Filenames are now part of the OPML file.
- - HTML and XML urls are now available in channel title display.
- - Timeouts for downloads changed to 30 seconds.
- - Tweaking of ¬e output - lot cleaner output to the user,
- and more helpful output to our log file. How slow is this?
-
-
- 0.17 (released January 12th, 2001)
- - Channels and lists are only downloaded if the saved versions
- are older than 1 hour. This makes the script even quicker.
- - GET/POST now properly parsed for form data.
- - List items and channel news are stripped of newlines and tabs.
- - channel list is optimized but it's kludgey. needs fixing.
- - .opml and .xml added to content-type extensions.
- - HTML cleaned up a bit, and section names finalized.
- - The old log is deleted before a new log starts.
- - &mirror now supports modification dates and works so much nicer.
- - Version checking is now mirrored.
- - The main $socket loop is now autoflushed.
- - ¬e and &error moved to Miscellaneous.pl.
- - Date stamp on logging shortened, since we overwrite each run.
- - All code switched to the rewritten LWP routines.
- - All routines are now labeled with what they can return, as well
- as the conditions for those situations. Most routines are non-fatal;
- if something bad happens, then the script will just keep on going.
- - The only routines that can kill the script are the parse_template
- routine (cos if we can't parse templates, we won't be able to show
- anything to the user), and the error routine (whose sole purpose is
- to kill the script anyways).
- - Timeouts during downloads are set to 45 seconds.
-
-
- 0.16 (released January 9th, 2001)
- - All LWP functions rewritten using non-module code (besides
- IO::Socket). This was mainly because a *compiled* runtime
- on the Mac would fail on every LWP routine besides get().
- - Channel download is now sorted alphabetically.
- - Channel news display is now sorted by last modified.
-
-
- 0.15 (released January 7th, 2001)
- - Removed unneccesary junk from the OPML.
- - Versioning code has been added.
- - Finalized logo appearance.
- - Fixed the annoying corrupted image problem for Windows.
- - We now use mirror() instead of getstore() for downloading.
- - Cleaned up comments for parse_file.
- - Directories now skipped when searching for channels.
- - Initialize.pl changed to Miscellaneous.pl.
- - We now check to see if all our directories exist.
- - Delimiter choosing cleaned up.
- - Removed tainting.
- - Port set to 8888 to reduce conflicts.
- - OS specific libraries added.
- - Stupid delimiter error fixed.
- - Library handling changed a bit.
- - Quick code to display all news headines added.
- - Quick code to download all channels in the subscriptions.
- - Simple, default mySubscriptionsDefault.opml added.
- - Added simplistic &error, which is just a die-ing shell to ¬e.
- - WebServer.pl and Initialize.pl appear.
-
-
- 0.1 (released January 5th, 2001)
- - First public release.
-
-
-